Vehicle safety steering system

ABSTRACT

Technical solutions described herein include a steering system that includes a motor that generates assist torque, and a controller that generates a motor torque command for controlling an amount of the assist torque generated by the motor. The steering system further includes a remote object assist module that computes a steering intervention based on a proximity of a vehicle from a detected object. The controller changes the motor torque command using the steering intervention.

CROSS-REFERENCES TO RELATED APPLICATIONS

This patent application claims priority to U.S. Provisional PatentApplication Ser. No. 62/518,099, filed Jun. 12, 2017, which isincorporated herein by reference in its entirety.

BACKGROUND

Advances in occupant safety in vehicles have played a significant rolein reducing the number of fatalities and injuries in last few decades.Such advances include passive safety (seat belt, airbag, chassisstructure design etc.) as well as active safety (Electronic StabilityControl, Anti-lock Braking System, adaptive cruise, automatic brakingsystem etc.). The active safety technologies are crucial in avoiding acrash or mitigating the severity of a crash.

Vehicles are provided with several technologies that allow themonitoring of conditions about a moving vehicle for providing activesafety. The technologies may enable the vehicle to detect the presenceof other vehicles and obstacles. The technologies may alert an operatorof the vehicle or perform certain maneuvers in response to othervehicles or obstacles.

SUMMARY

A vehicle safety system includes an environmental monitoring system thatis configured to monitor a distance and a speed of objects, such asremote vehicles, traffic cones, walls, and the like within apredetermined proximity of a host vehicle. In addition to objects, theenvironmental monitoring system can also identify the location oflane-marks on a road. The environmental monitoring system is incommunication with a steering system having a steering actuatoroperatively connected to an operator input device. The steering actuatoris arranged to provide an input to the operator input device responsiveto input signals from the environmental monitoring system.

According to one or more embodiments, a steering system includes a motorthat generates assist torque, and a controller that generates a motortorque command for controlling an amount of the assist torque generatedby the motor. The steering system further includes a remote objectassist module that computes a steering intervention based on a proximityof a vehicle from a detected object. The controller changes the motortorque command using the steering intervention.

According to one or more embodiments, a computer-implemented methodincludes generating a motor torque command for controlling an amount ofassist torque generated by a motor of a steering system of anautomotive. The method further includes computing steering interventionbased on a proximity of the automotive from a detected object. Themethod further includes changing the motor torque command using thesteering intervention.

According to one or more embodiments, a computer program productincludes a memory storage device that includes one or more computerexecutable instructions which when executed by a controller causes thecontroller to adjust a handwheel assist torque. The adjusting includesgenerating a motor torque command for controlling an amount of assisttorque generated by a motor of a steering system of an automotive. Theadjusting further includes computing steering intervention based on aproximity of the automotive from a detected object. The adjustingfurther includes changing the motor torque command using the steeringintervention.

These and other advantages and features will become more apparent fromthe following description taken in conjunction with the drawings.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is an exemplary embodiment of a vehicle including a steeringsystem;

FIG. 2 illustrates an example control module according to one or moreembodiments;

FIG. 3 illustrates an environmental monitoring system according to oneor more embodiments;

FIGS. 4A, 4B, and 4C, depict example scenarios where an environmentalmonitoring system provides steering assistance according to one or moreembodiments;

FIG. 5 depicts an operational block diagram for a situation analysismodule according to one or more embodiments;

FIG. 6 depicts an operational block diagram of a control moduleadjusting an assist torque command according to one or more embodiment;and

FIG. 7 illustrates a flow chart of an example method for generating amotor torque command by a steering system based on input from anenvironmental monitoring system according to one or more embodiments.

DETAILED DESCRIPTION

As used herein the terms module and sub-module refer to one or moreprocessing circuits such as an application specific integrated circuit(ASIC), an electronic circuit, a processor (shared, dedicated, or group)and memory that executes one or more software or firmware programs, acombinational logic circuit, and/or other suitable components thatprovide the described functionality. As can be appreciated, thesub-modules described below can be combined and/or further partitioned.

The technical solutions described herein facilitate a steering system tofurther contribute to active safety by helping a driver to avoid acollision or mitigate impact of a collision. For example, the technicalsolutions described herein may mitigate a sideswipe collision, which maybe caused because of a distracted driver, a drowsing driving, a drivernot looking before changing lane(s), or uncommon traffic situations etc.

Active safety systems equipped in a vehicle can include lane departurewarning system, blind spot detection, active cruise control, etc. Theactive safety systems use one or more sensors, for example, radar,camera, LIDAR, among others, to continuously monitor objects withinpredetermined proximity of the vehicle. The active safety systemsfurther predict a potential collision with the object, such as front,rear, and/or side collision. The technical solutions described herein,depending on different threat levels, facilitate an Advanced DriverAssistance System (ADAS) function of a steering system to generate andprovide driver feedback. The driver feedback can be generated based ondifferent levels of intervention, e.g. steering wheel buzz, reducedassist, torque overlay and active steering position control to oppose(or discourage) driver from lane changing, or provide further assistancein lane changing, and the like or a combination thereof.

Active safety systems, such as blind spot detection and lane keepassist, typically provide a feedback to the driver by an audible sound,a warning light, or other audiovisual cues. The technical solutionsdescribed herein improves such approach by performing a surroundingperception and situation analysis, by using a steering system of thevehicle as a human machine interface to interact with and to guide thedriver to prevent potential side collision. In addition to theaudiovisual cues, the technical solutions described herein provide ahaptic feedback via the steering wheel to provide a warning, or driverfeedback regarding a potential side collision, time to collision, andother such analyzed parameters by modifying an assist torque generatedby the steering system. Further yet, in one or more examples, thetechnical solutions described herein modify the assist torque to oppose(or discourage) a lane change maneuver being performed by the driver,for example, the modification opposing an input torque being applied bythe driver.

Referring now to the Figures, where the technical solutions will bedescribed with reference to specific embodiments, without limiting same,FIG. 1 is an exemplary embodiment of a vehicle 10 including a steeringsystem 12. It should be noted that the steering system 12 can be an EPS,a steer-by-wire (SbW) system, a hydraulic steering with Magnetic TorqueOverlay (MTO), and the like. The embodiments herein describe an EPS,however in other examples, the technical solutions described herein canbe implemented in the other types of steering systems. In variousembodiments, the steering system 12 includes a handwheel 14 coupled to asteering shaft system 16 which includes steering column, intermediateshaft, & the necessary joints. In one exemplary embodiment, the steeringsystem 12 is an EPS system that further includes a steering assist unit18 that couples to the steering shaft system 16 of the steering system12, and to tie rods 20, 22 of the vehicle 10. Alternatively, steeringassist unit 18 may be coupling the upper portion of the steering shaftsystem 16 with the lower portion of that system. The steering assistunit 18 includes, for example, a rack and pinion steering mechanism (notshown) that may be coupled through the steering shaft system 16 to asteering actuator motor 19 and gearing. During operation, as a vehicleoperator turns the handwheel 14, the steering actuator motor 19 providesthe assistance to move the tie rods 20, 22 that in turn moves steeringknuckles 24, 26, respectively, coupled to roadway wheels 28, 30,respectively of the vehicle 10.

As shown in FIG. 1, the vehicle 10 further includes various sensors 31,32, 33 that detect and measure observable conditions of the steeringsystem 12 and/or of the vehicle 10. The sensors 31, 32, 33 generatesensor signals based on the observable conditions. In one example, thesensor 31 is a torque sensor that senses an input driver handwheeltorque (HWT) applied to the handwheel 14 by the operator of the vehicle10. The torque sensor generates a driver torque signal based thereon. Inanother example, the sensor 32 is a motor angle and speed sensor thatsenses a rotational angle as well as a rotational speed of the steeringactuator motor 19. In yet another example, the sensor 33 is a handwheelposition sensor that senses a position of the handwheel 14. The sensor33 generates a handwheel position signal based thereon.

A control module 40 receives the one or more sensor signals input fromsensors 31, 32, 33, and may receive other inputs, such as a vehiclespeed signal 34. The control module 40 generates a command signal tocontrol the steering actuator motor 19 of the steering system 12 basedon one or more of the inputs and further based on the steering controlsystems and methods of the present disclosure. The steering controlsystems and methods of the present disclosure apply signal conditioningand perform friction classification to determine a surface frictionlevel 42 as a control signal that can be used to control aspects of thesteering system 12 through the steering assist unit 18. Communicationwith other vehicle subsystems (not depicted), can be performed using,for example, a controller area network (CAN) bus or other vehiclenetwork known in the art to exchange signals such as the vehicle speedsignal 34. The vehicle speed signal may be generated based on enginerotation speed, or using one or more of wheel speed signals etc.

FIG. 2 illustrates an example control module 40 according to one or moreembodiments. The control module 40 includes, among other components, aprocessor 205, memory 210 coupled to a memory controller 215, and one ormore input devices 245 and/or output devices 240, such as peripheral orcontrol devices that are communicatively coupled via a local I/Ocontroller 235. These devices 240 and 245 may include, for example,battery sensors, position sensors (altimeter 40, accelerometer 42, GPS44), indicator/identification lights and the like. Input devices such asa conventional keyboard 250 and mouse 255 may be coupled to the I/Ocontroller 235. The I/O controller 235 may be, for example, one or morebuses or other wired or wireless connections, as are known in the art.The I/O controller 235 may have additional elements, which are omittedfor simplicity, such as controllers, buffers (caches), drivers,repeaters, and receivers, to enable communications.

The I/O devices 240, 245 may further include devices that communicateboth inputs and outputs, for instance disk and tape storage, a networkinterface card (NIC) or modulator/demodulator (for accessing otherfiles, devices, systems, or a network), a radio frequency (RF) or othertransceiver, a telephonic interface, a bridge, a router, and the like.

The processor 205 is a hardware device for executing hardwareinstructions or software, particularly those stored in memory 210. Theprocessor 205 may be a custom made or commercially available processor,a central processing unit (CPU), an auxiliary processor among severalprocessors associated with the system 100, a semiconductor basedmicroprocessor (in the form of a microchip or chip set), amacroprocessor, or other device for executing instructions. Theprocessor 205 includes a cache 270, which may include, but is notlimited to, an instruction cache to speed up executable instructionfetch, a data cache to speed up data fetch and store, and a translationlookaside buffer (TLB) used to speed up virtual-to-physical addresstranslation for both executable instructions and data. The cache 270 maybe organized as a hierarchy of more cache levels (L1, L2, and so on.).

The memory 210 may include one or combinations of volatile memoryelements (for example, random access memory, RAM, such as DRAM, SRAM,SDRAM) and nonvolatile memory elements (for example, ROM, erasableprogrammable read only memory (EPROM), electronically erasableprogrammable read only memory (EEPROM), programmable read only memory(PROM), tape, compact disc read only memory (CD-ROM), disk, diskette,cartridge, cassette or the like). Moreover, the memory 210 mayincorporate electronic, magnetic, optical, or other types of storagemedia. Note that the memory 210 may have a distributed architecture,where various components are situated remote from one another but may beaccessed by the processor 205.

The instructions in memory 210 may include one or more separateprograms, each of which comprises an ordered listing of executableinstructions for implementing logical functions. In the example of FIG.2, the instructions in the memory 210 include a suitable operatingsystem (OS) 211. The operating system 211 essentially may control theexecution of other computer programs and provides scheduling,input-output control, file and data management, memory management, andcommunication control and related services.

Additional data, including, for example, instructions for the processor205 or other retrievable information, may be stored in storage 220,which may be a storage device such as a hard disk drive or solid statedrive. The stored instructions in memory 210 or in storage 220 mayinclude those enabling the processor to execute one or more aspects ofthe systems and methods described herein.

The control module 40 may further include a display controller 225coupled to a user interface or display 230. In some embodiments, thedisplay 230 may be an LCD screen. In other embodiments, the display 230may include a plurality of LED status lights. In some embodiments, thecontrol module 40 may further include a network interface 260 forcoupling to a network 265. The network 265 may be an IP-based basednetwork for communication between the control module 40 and an externalserver, client and the like via a broadband connection. In anembodiment, the network 265 may be a satellite network. The network 265transmits and receives data between the control module 40 and externalsystems. In some embodiments, the network 265 may be a managed IPnetwork administered by a service provider. The network 265 may beimplemented in a wireless fashion, for example, using wireless protocolsand technologies, such as WiFi, WiMax, satellite, or any other. Thenetwork 265 may also be a packet-switched network such as a local areanetwork, wide area network, metropolitan area network, the Internet, orother similar type of network environment. The network 265 may be afixed wireless network, a wireless local area network (LAN), a wirelesswide area network (WAN) a personal area network (PAN), a virtual privatenetwork (VPN), a vehicle network (CAN), intranet or other suitablenetwork system and may include equipment for receiving and transmittingsignals.

FIG. 3 illustrates an environmental monitoring system according to oneor more embodiments. The environmental monitoring system 300 includes aremote object assist module 310 that is in communication with thesteering system 12, for example, with the controller 40 that generatesthe assist torque. In one or more examples, the remote object assistmodule 310 is a ‘blind zone’ assist system that detects remote objectsin a blind zone of the host vehicle 10.

In one or more examples, the remote object assist module 310 is part ofthe steering system 12, for example the control module 40 performing theone or more operations based on output signals from the remote objectassist module 310. In one or more examples, the remote object assistmodule 310 is part of the controller 40 itself. Alternatively, or inaddition, the remote object assist module 310 is a separate processingunit, such as an electronic circuit unit (ECU). In one or more examples,the remote object assist module 310 includes one or more computerexecutable instructions that are read and executed by a processing unit,such as the control module 40.

The remote object assist module 310 uses one or more sensors 312 such ascamera, radar, LIDAR, ultrasonic sensor, etc. that the host vehicle 10is equipped with. Other sensors such as a GPS can be used in addition.In addition, vehicle and steering signals 314 are also input and used bythe remote object assist module 310. The vehicle and steering signalscan include measurement signals received from the one or more sensors,such as those in the steering system 12, or can include estimated orcomputed signals from one or more ECUs in the host vehicle 10. Thevehicle and steering signals 314 can include a yaw rate, a vehiclespeed, a vehicle acceleration, a steering angle, an input torque appliedto the handwheel 14 etc.

In one or more examples, a logical combination of two or more sensors312 can be used by a sensor fusion module 316. The sensor fusion module316 is responsible for receiving the input signals from the sensors 312and other vehicle/steering signals 314 and processing the input signalsusing one or more sensor fusion techniques. Sensor fusion module 316facilitates combining the sensory data or data derived from thedisparate sources, the sensors 312 and vehicle/steering signals 314,such that the resulting information has less uncertainty than using thesources individually.

The sensor fusion module 316, using the input signals, monitors thesurroundings of the host vehicle 10 within a predetermined proximity,such as up to a predetermined distance from the host vehicle 10. Thesensor fusion module 316 detects one or more remote objects in thesurroundings and analyzes if a potential collision of the host vehicle10 with the detected remote objects is possible. The detected remoteobjects can include other vehicles (remote vehicle or target vehicle),traffic cones/markers, lane markers, pedestrians, walls, road dividers,or any other such objects that the host vehicle 10 can collide with.

The sensor fusion module 316 computes the time to collision with aremote object that is detected using the input signals and one or moreknown techniques. For example, the sensor fusion module 316 computes adistance and a speed of a remote vehicle proximate or forward of thehost vehicle within the same lane of the host vehicle 10. The sensorfusion module 316 can also compute a distance and a speed of an incomingvehicle in an adjacent lane to the host vehicle 10. For example, theremote object assist module 310 provides blind zone assistance via thesteering system 12. In one or more examples, the sensor fusion module316 sends a front TTC signal to the situation analysis module 318 fordetermining what steering action can be taken. The front TTC signalindicates a time to collision with a target vehicle that is in front ofthe host vehicle 10.

FIGS. 4A, 4B, and 4C, depict example scenarios where the environmentalmonitoring system 300 provides steering assistance according to one ormore embodiments. It should be noted that the three different cases aredepicted are examples, and that the technical solutions herein can beimplemented in other scenarios as well. In FIG. 4A, Case I is depictedin which the remote object assist module 310 uses one or more inputsignals for lane marks and front object classification information. Forexample, the environmental monitoring system 300 may include 5 radarsand 1 front camera, a front looking radar, two front corner radars, andtwo rear corner radars. As illustrated, a first region 410 representsthe camera's field of view (FOV), a second region 420 represents aradar's field of view, and a third region 422 represents an overlap areabetween two (or more) radar sensors. In the depicted example, the frontradar and camera information is fused to get a common classified objectlist.

Further, FIG. 4B depicts another system configuration, Case II, thatuses one front looking camera for lane marks and front classified objectinformation with 3 radars and 1 front camera, with one front lookingradar, two rear corner radars. Here, the front radar and camerainformation is fused to get a common classified object list.

FIG. 4C depicts a system configuration, Case III, with 3 or 5 radars,which uses the radar sensors to provide a 360 degree field of view. Inthe depicted example, one front looking radar, two front corner radarsand two rear corner radars are set up. Here, the radar information isfused to get a common classified object list.

Referring to FIG. 3, for example, in the front region of the hostvehicle (that is ‘ahead’ of the host vehicle 10), the sensor fusionmodule 316 keeps tracking the closest front vehicle 415 by using acombination of lane marker 405 detection, radar 420 detection andvehicle signals 314 for cases I and II. In radar-only setup (case III)the sensor fusion module 316 only uses vehicle signals 314 to predictfuture trajectory of the host vehicle 10. In the side region 420 of thehost vehicle 10, radar signals are used to keep tracking targets 425that are proximate to the host vehicle 10. In both cases, a time tocollision (TTC) is calculated using one or more known techniques.Vehicle signals 314 and the lane marks 405 are also used to predict alane-change status of the host vehicle 10. The lane-change statusindicates if the host vehicle 10 is intending to perform a lane changemaneuver (left lane change, right lane change, etc.) or continuetraveling in the present lane 405.

The remote object assist module 310 further includes a situationanalysis module 318, which uses the lane-change status, fronttime-to-collision, and side time-to-collision to determine whether totrigger one or more levels of steering intervention. For example, ifthere is an impending front collision, determined based on the fronttime-to-collision, the side-collision prevention function is switchedOFF using the flag provided to the steering action module 40.Alternatively, or in addition, depending on the side time-to-collision,a steering intervention is triggered to prevent a side collision. Thesteering intervention can include scaling the assist torque generatedbased on driver input torque, the scaling factor for the scaling basedon the analysis of the situation analysis module 318. Alternatively, orin addition, the steering intervention can include generating an overlaytorque to oppose or further assist the input torque from the driver. Forexample, the controller 40 determines the one or more levels of steeringinterventions.

FIG. 5 depicts an operational block diagram for a situation analysismodule 318 according to one or more embodiments. It should be noted thatin one or more examples, the situation analysis module 318 may includedifferent, fewer, and/or additional modules than those depicted here.The situation analysis module 318 includes, among other components, alane proximity module 510, an object proximity module 520, a proximityaction determination module 530, a lane change status module 540, and asteering action determination module 550.

The lane proximity module 510 determines a distance of the host vehicle10 from lane markers 405 of the lane in which the host vehicle 10 istraveling. Such distance may be determined for a present position of thehost vehicle or a predicted position of the host vehicle 10 (forexample, 10 m away), or at multiple points. The distance may be measuredusing the one or more sensors 312, for example, a camera. In one or moreexamples, a first (left) distance is measured from a left lane markerand a second (right) distance is measured from a right lane marker. Inone or more examples, the measured lane distance(s) is converted into alane proximity level, for example, using a look up table. Converting alane distance into the lane proximity level includes checking whichpredetermined range the lane distance falls into, and selecting a laneproximity level corresponding to the resulting predetermined range.Furthermore, the lane proximity level can also be affected by the rateof change of lane distance (for example, lane closing velocity oracceleration). In one or more examples, there are a predetermined numberof lane proximity levels, such as low, medium, high, and the like. Thenumber of lane proximity levels can vary in different examples. Theproximity level can be represented by a number in a predetermined range,for example 0 to 1.

The object proximity module 520 determines an object distance of thehost vehicle 10 from a detected object on the side of the host vehicle10, such as a remote vehicle 425. The distance may be measured using theone or more sensors 312, for example, a radar. In one or more examples,the measured object distance is converted into an object proximitylevel, for example, using a look up table. Converting the objectdistance into the object proximity level includes checking whichpredetermined range the object distance falls into, and selecting anobject proximity level corresponding to the resulting predeterminedrange. Depending upon the sensors 312, velocity of tracked objects mayalso be measured/estimated. Velocity of the detected objects can be usedto calculate the proximity level in addition to the distance. In one ormore examples, there are a predetermined number of object proximitylevels, such as close, medium, far, and the like. The number of objectproximity levels can vary in different examples. The proximity level canalso be represented by a number in a predetermined range, for example 0to 1.

The proximity level outputs from the lane proximity module 510 and theobject proximity module 520 are forwarded to the proximity action module530. The proximity action module 530 determines a proximity action levelbased on the lane proximity level and the object proximity level. Theproximity action level converts the lane proximity level and the objectproximity level into the proximity action level using a look up table,in one or more examples. In one or more examples, the conversion may bea Boolean logic table. The proximity action level may be mild changelane, stay lane, moderate lane change, fast lane change, and the like.It should be noted that different, fewer, or additional proximity actionlevels may be used in different examples from those above. The proximitylevel can also be represented by a number in a predetermined range, forexample 0 to 1. The proximity action level is forwarded to the steeringaction module 550.

The steering action module 550 determines a change to be made in theassist torque being generated based on the proximity action level. Inaddition, in one or more examples, the steering action module 550determines the change to be made based on a lane change status and aninput torque being provided by the driver via the handwheel 14. Theinput torque may be measured using one or more sensors; alternatively,the input torque is estimated using known techniques. The steeringaction module 550 determines at least one of an assist scaling factor,an overlay torque, an input torque overlay, and a position control toadjust the assistance being provided to the driver to maneuver the hostvehicle 10.

FIG. 6 depicts an operational block diagram of the control module 40adjusting an assist torque command according to one or more embodiments.The control module 40 of the steering system 12 generates a torquecommand for generating the assist torque for the driver. Typically, thecontrol module 40 generates the assist torque command based on at leastan input torque from the driver at the handwheel. The control module 40can generate the assist torque command using any one of the knowntechniques. The assist torque command provides an amount of torque to begenerated by the motor 19. The assist torque command is applied by themotor 19 using a motor control system.

The steering motor 19 (actuator) may be commonly referred to as a “handwheel actuator.” The steering actuator is configured as anelectromechanical actuator that is operatively connected to an end ofthe steering shaft. The steering shaft may be received by and may extendat least partially through the steering actuator. The steering actuatormay replace a direct mechanical connection between the steering shaftand the steering mechanism that is operatively connected to a vehiclewheel.

The steering motor 19 (or actuator) may be configured to interpret aposition of the steering shaft and/or the operator input deviceconnected to the steering shaft and to provide that position as asteering input to the steering mechanism that is operatively connectedto the vehicle wheel to pivot the vehicle wheel. The steering actuatoris configured to provide an input to the steering shaft or operatorinput device to resist or oppose rotation of the operator input devicebased on inputs received by the environmental monitoring system 300.

As shown in FIG. 6, the control module 40 includes an assist calculationmodule 610 that receives the input torque from the driver and computesthe corresponding motor torque command for the motor 19, at 612. Themotor torque command, in one or more examples, is an assist torquecommand. The assist calculation module 610 receives the assist scalingfactor computed by the situation analysis module 318. The assistcalculation module scales the assist torque command using the assistscaling factor, at 614. In some examples, the assist scaling factor canbe a numeric value between 0 and 1. Furthermore, a scaling factor ormultiple scaling factors can be used to scale specific sub-componentoutputs of 612, such as boost curve (to reduce boost curve output), ordamping (to increase damping) etc.

Further yet, in one or more examples, the control module 40 receives theoverlay torque computed by the situation analysis module 318. Theoverlay torque is used by the control module 40 to further change theassist torque command, at 620. For example, the overlay torque can be asinusoidal signal to alert the driver of potential side collision. Forexample, the overlay torque causes a haptic feedback, such as avibration of the handwheel 14. Alternatively, or in addition, the hapticfeedback includes a push feedback in which the control module 40 appliesa torque command to the motor 19, the torque command opposes the driverinput. The opposing torque command has a predetermined magnitude and hasopposite direction to the driver input. For example, if the driver isproviding input torque to maneuver the handwheel 14 to the left, theopposing torque is to the right, and vice versa. In one or moreexamples, in case the driver is not performing a steering maneuver, thepush feedback may be provided in both directions (left and right).

Also, an input torque overlay can be used to modify the input torquevalue going to assist calculation, at 605. The input torque overlaychanges the input torque value that is used by the assist calculation610 to determine the amount of assist torque to generate and provide.Accordingly, by modifying the input torque based on the proximity actionlevel, the assist torque generated by the steering system 12 is based onthe proximity of the detected object. The input torque overlay is aguidance torque command that is generated to adjust the input torque,and thereby the assist torque generated by the motor 19.

Further yet, the position control computed by the situation analysismodule 318 provides an angle of the handwheel 14. PID control may beused to provide the position control. For example, in case the positioncontrol provides a reference handwheel angle at which the handwheel 14is to be positioned to either cause a lane change, or oppose ordiscourage a lane change, at 630. For example, if the lane change is tobe opposed, a handwheel angle of 0 degrees may be commanded.Alternatively, or in addition, if the host vehicle 10 is to bemaneuvered to the left (or right) by a specific angle to avoid collisionwith an oncoming vehicle 425 on the right (or left), the handwheel angleto avoid the collision is provided as the reference handwheel angle. Aposition control module determines a second torque overlay command toposition the handwheel according to the reference handwheel angle. Thesecond overlay command is added to the scaled assist torque command at620. The resulting assist torque command is provided to the motor 19 asa torque command for generating assist torque to the driver and avoid aside collision.

The one or more levels of steering interventions are added into a motortorque command that the control module 40 generates to position thehandwheel 14 and/or generate the assist torque.

FIG. 7 illustrates a flow chart of an example method for generating amotor torque command by a steering system based on input from anenvironmental monitoring system according to one or more embodiments.The method includes generating an assist torque for a driver to maneuverthe host vehicle 10 via the steering system 12, at 810. The assisttorque is generated using the motor 19 by generating and providing anassist command to the motor. The assist command can be a torque command,a current command, a voltage command, and the like based on a motorcontrol system used to control the motor 19. Using such commands togenerate a desired amount of torque from the motor is performed usingone or more known techniques that use the input torque from the driverand a reference torque based on a road surface, and other mechanicalcomponents to generate a complementary assist torque that facilitatesthe driver to complete a maneuver using the handwheel 14.

The method further includes determining lane proximity level of the hostvehicle 10, at 820. The lane proximity level is determined based on thehost vehicle's distance from lane markers 405 based on one or moresensor input. The lane proximity level indicates how far the hostvehicle 10 is from one (or more) lane markers 405 adjacent to the hostvehicle 10. Further, the method includes determining an object proximitylevel for the host vehicle 10, at 830. The object proximity level isdetermined based on the host vehicle's distance from a remote vehicle425 on the side of the host vehicle 10. The object distance isdetermined using one or more sensor readings. Further, the objectproximity level is based on vehicle signals such as the host vehiclespeed, host vehicle acceleration and the like to determine a time tocollision of the host vehicle 10 and the remote vehicle 425. In one ormore examples, the time to collision is used to determine the objectproximity level, wherein the time to collision is converted into theobject proximity level using a look up table. The method furtherincludes determining a proximity action level, at 840. The proximityaction level is determined based on the lane proximity level and theobject proximity level.

Further, the method includes determining a lane change status, at 850.The lane change status is determined based on steering/vehicle signals314. For example, the lane change status is determined using a handwheelposition, an input torque provided to the handwheel, vehicle speed,vehicle acceleration, and the like are used to determine whether adriver is maneuvering the host vehicle 10 to change a lane. For example,a handwheel position tilted to a left (or right) side by at least apredetermined angle may indicate a lane change maneuver when the hostvehicle 10 is traveling at least a predetermined vehicle speed.

The method further includes determining an input torque from the driverat the handwheel 14, at 860. The method includes determining, based onthe lane change status, the input torque, and the proximity levelaction, a steering action, at 870. Generating the steering actionincludes determining whether to assist the driver in changing the laneor to oppose the lane change maneuver. The steering action can includean assist scaling factor, an overlay torque command, and/or a positioncontrol command. The steering action is used to modify the assistcommand that is generated by the control module 40 of the steeringsystem 12, at 880.

For example, if the time to collision with the remote vehicle 425 isless than a first predetermined threshold, such that the host vehicle 10will collide with the remote vehicle 425 if the lane is changed, thehost vehicle 10 is opposed (or discouraged) from changing into the lanein which the remote vehicle 425 is traveling. It should be noted thatthe time to collision is computed for a predicted position of the hostvehicle 10 if the intended lane change maneuver is completed. In thiscase, to oppose the lane change maneuver, the steering action that isgenerated generates an assist command that opposes the input torque fromthe driver and further causes the motor 19 to move the handwheel 14 tothe center (0 degrees) to cause the host vehicle 10 to maintain thepresent lane. In such a case the assist scaling factor is set to 0, sothat the control module 40 scales the torque command to 0 (zero).

Alternatively, if the time to collision is greater than the firstpredetermined threshold, and if the input torque is less than apredetermined level such that a time for the host vehicle 10 to changethe lane is greater than the time to collision, the steering actiongenerated may assist in accelerating the lane change maneuver byincreasing the assist torque. In such a case the assist scaling factorincreases the input torque by a predetermined degree based on theproximity action level. In one or more examples, the scaling factor isselected corresponding to the proximity action level.

Further yet, the steering action can include a torque overlay commandthat generates a haptic feedback for the driver. In one or moreexamples, overlay command is a predetermined torque overlay that isadded to the assist torque to cause the handwheel 14 to vibrate. In someother examples, overlay command is a predetermined torque overlay thatis added to the assist torque so that driver feels a push against thelane change direction. Alternatively, or in addition, the overlaycommand is a frequency injection signals, such as a sinusoidal signal,that causes a haptic feedback (e.g. buzz) for the driver. The hapticfeedback is an additional warning to the driver in addition to theaudiovisual feedback that may be provided in one or more examples.

In one or more examples, the method further includes generating anaudible noise, such as a horn as a warning for the remote vehicle 425,at 895. The audible noise can be generated using a horn (not shown) ofthe host vehicle 10, or any other sound generating device of the hostvehicle 10 to warn the remote vehicle 425, external to the host vehicle10.

The technical solutions described herein provide a vehicle safety systemincludes an environmental monitoring system that is configured tomonitor a distance and a speed of a vehicle forward of a host vehicle.The environmental monitoring system is in communication with a steeringsystem having a steering actuator operatively connected to an operatorinput device. The steering actuator is arranged to provide an input tothe operator input device responsive to input signals from theenvironmental monitoring system.

The present technical solutions may be a system, a method, and/or acomputer program product at any possible technical detail level ofintegration. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent technical solutions.

Aspects of the present technical solutions are described herein withreference to flowchart illustrations and/or block diagrams of methods,apparatus (systems), and computer program products according toembodiments of the technical solutions. It will be understood that eachblock of the flowchart illustrations and/or block diagrams, andcombinations of blocks in the flowchart illustrations and/or blockdiagrams, can be implemented by computer readable program instructions.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present technical solutions. In this regard, eachblock in the flowchart or block diagrams may represent a module,segment, or portion of instructions, which comprises one or moreexecutable instructions for implementing the specified logicalfunction(s). In some alternative implementations, the functions noted inthe blocks may occur out of the order noted in the Figures. For example,two blocks shown in succession, in fact, may be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts or carry outcombinations of special purpose hardware and computer instructions.

It will also be appreciated that any module, unit, component, server,computer, terminal or device exemplified herein that executesinstructions may include or otherwise have access to computer readablemedia such as storage media, computer storage media, or data storagedevices (removable and/or non-removable) such as, for example, magneticdisks, optical disks, or tape. Computer storage media may includevolatile and non-volatile, removable and non-removable media implementedin any method or technology for storage of information, such as computerreadable instructions, data structures, program modules, or other data.Such computer storage media may be part of the device or accessible orconnectable thereto. Any application or module herein described may beimplemented using computer readable/executable instructions that may bestored or otherwise held by such computer readable media.

While the technical solutions are described in detail in connection withonly a limited number of embodiments, it should be readily understoodthat the technical solutions are not limited to such disclosedembodiments. Rather, the technical solutions can be modified toincorporate any number of variations, alterations, substitutions, orequivalent arrangements not heretofore described, but which arecommensurate with the spirit and scope of the technical solutions.Additionally, while various embodiments of the technical solutions havebeen described, it is to be understood that aspects of the technicalsolutions may include only some of the described embodiments.Accordingly, the technical solutions are not to be seen as limited bythe foregoing description.

What is claimed is:
 1. A steering system, comprising: a motor thatgenerates assist torque; a controller that: generates a motor torquecommand for controlling an amount of the assist torque generated by themotor; computes a steering intervention based on a proximity of avehicle from a detected object, the vehicle being equipped with thesteering system; and changes the motor torque command using the steeringintervention, wherein the steering intervention comprises a guidancetorque command in response to the proximity being of a predeterminedlevel, and the controller adds the guidance torque command to an inputtorque from a driver.
 2. The steering system of claim 1, wherein thedetected object is a lane marker.
 3. The steering system of claim 1,wherein the detected object is a target vehicle.
 4. The steering systemof claim 1, wherein computing the steering intervention comprises:determining driver intention of lane change based on an input torquefrom a driver.
 5. The steering system of claim 1, wherein the steeringintervention comprises an overlay torque command, and the controllergenerates a haptic feedback by adding the overlay torque command withthe motor torque command.
 6. The steering system of claim 1, wherein theproximity of the detected object is determined using one or more sensorscomprising a radar, a camera, a lidar, and an ultrasonic sensor.
 7. Thesteering system of claim 1, wherein the steering intervention comprisesa position command, and the controller changes a position of the motoraccording to the position command.
 8. The steering system of claim 1,the steering intervention comprises an assist scaling factor, whereinthe controller multiplies the motor torque command by the assist scalingfactor.
 9. A computer-implemented method comprising: generating a motortorque command for controlling an amount of assist torque generated by amotor of a steering system of a vehicle; computing steering interventionbased on a proximity of the vehicle from a detected object; and changingthe motor torque command using the steering intervention, wherein thesteering intervention comprises an assist scaling factor, wherein thecontroller multiplies the motor torque command by the assist scalingfactor.
 10. The computer-implemented method of claim 9, wherein thedetected object is a target vehicle on a left side or a right side ofthe vehicle.
 11. The computer-implemented method of claim 10, furthercomprising: generating an audible noise external to the vehicle forwarning the target vehicle.
 12. The computer-implemented method of claim9, wherein computing the steering intervention comprises determining alane change status of the vehicle based on an input torque from adriver, the lane change status indicative of a driver intention ofperforming a lane change maneuver.
 13. The computer-implemented methodof claim 9, wherein determining the steering intervention furthercomprises: computing an overlay torque command; and generating a hapticfeedback by adding the overlay torque command with the motor torquecommand.
 14. The computer-implemented method of claim 9, whereindetermining the steering intervention further comprising: computing aguidance torque command for a lane change maneuver in response to theproximity being of a predetermined level; and adding the guidance torquecommand to an input torque from a driver and using the sum forgenerating the motor torque command.
 15. The computer-implemented methodof claim 14, wherein the guidance torque command opposes a lane changemaneuver by providing an opposing torque to the input torque to opposechanging a position of a handwheel.
 16. The computer-implemented methodof claim 9, wherein the steering intervention comprises a positioncommand, and the controller changes a position of the motor according tothe position command.
 17. A computer program product comprising a memorystorage device that includes one or more computer executableinstructions which when executed by a controller causes the controllerto adjust a handwheel assist torque, the adjusting comprising:generating a motor torque command for controlling an amount of assisttorque generated by a motor of a steering system of a vehicle; computinga steering intervention based on a proximity of the vehicle from adetected object; and changing the motor torque command using thesteering intervention, wherein the steering intervention comprises aguidance torque command in response to the proximity being of apredetermined level; and adding the guidance torque command to an inputtorque from a driver.
 18. The computer program product of claim 17,wherein the detected object is a remote vehicle.
 19. The computerprogram product of claim 18, wherein the one or more computer executableinstructions when executed by the controller cause the controller togenerate an audible noise external to the vehicle for warning the remotevehicle.
 20. The computer program product of claim 17, wherein computingthe steering intervention comprises determining a lane change status ofthe vehicle based on an input torque from the driver, the lane changestatus indicative of a driver intention of performing a lane changemaneuver.
 21. The computer program product of claim 17, wherein theguidance torque command opposes a lane change maneuver by providing anopposing torque to the input torque to oppose changing a position of ahandwheel.
 22. The computer program product of claim 17, wherein thesteering intervention further comprises a position command, and thecontroller changes a position of the motor according to the positioncommand.
 23. The computer program product of claim 17, wherein thesteering intervention further comprises an assist scaling factor,wherein the controller multiplies the motor torque command by the assistscaling factor.
 24. The computer program product of claim 17, whereindetermining the steering intervention further comprises: computing anoverlay torque command; and generating a haptic feedback by adding theoverlay torque command with the motor torque command.
 25. The computerprogram product of claim 17, wherein computing the steering interventionis further based on a velocity of the detected object.